﻿@using AppWeb.Componentes.DAReclamos.Model
@{
    ViewBag.Title = "Bandeja de Reclamos";

    List<Reclamo> listadoReclamos = (List<Reclamo>)ViewBag.ListadoReclamos;

}
<fieldset class="fieldset">
    <legend>Bandeja de Reclamos</legend>
    <div class="row-fluid">
        <table id="bandejaReclamosAnalista">
            <thead>
                <tr>
                    <th>
                        Tienda
                    </th>
                    <th>
                        DNI Cliente
                    </th>
                    <th>
                        Nombre Cliente
                    </th>
                    <th>
                        Tipo Reclamo
                    </th>
                    <th>
                        Fechas Registro
                    </th>
                    <th>
                        Fechas Maxima Atención
                    </th>
                    <th>
                        Estado
                    </th>
                    <th>
                        Avance
                    </th>
                    <th>
                        Solucion
                    </th>
                    <th>
                        Ver
                    </th>
                </tr>
            </thead>
            <tbody>
                @if (listadoReclamos != null)
                {
                    foreach (Reclamo reclamo in listadoReclamos)
                    {

                        string vista = "";
                        if (reclamo.estado_id == 2 && reclamo.fecha_atencion_final > DateTime.Today)
                        {
                            vista = "estado_asignado";
                        }
                        else if (reclamo.estado_id == 3 && reclamo.fecha_atencion_final > DateTime.Today)
                        {
                            vista = "estado_atencion";
                        }
                        else if (reclamo.estado_id == 4)
                        {
                            vista = "estado_solucionado";
                        }
                        else if (reclamo.fecha_atencion_final < DateTime.Today)
                        {
                            vista = "estado_vencido";
                        }
                        
                        <tr data-reclamo_id="@reclamo.id" class="@vista">
                            <td>
                                @reclamo.punto_venta_nombre
                            </td>
                            <td>
                                @reclamo.documento_identidad_numero
                            </td>
                            <td>
                                @reclamo.nombres
                            </td>
                            <td class="tipo">
                                @reclamo.tipo_reclamo_nombre
                            </td>
                            <td class="fecha_inicio">
                                @reclamo.fecha_atencion_inicio.ToString("dd/MM/yyyy")
                            </td>
                            <td class="fecha_final">
                                @reclamo.fecha_atencion_final.ToString("dd/MM/yyyy")
                            </td>
                            <td class="estado">
                                @reclamo.estado_reclamo_nombre
                            </td>
                            <td class="avance">
                                @reclamo.porcentaje_avance.ToString().Trim()
                            </td>
                            <td class="solucion" align="center">
                                <a href="#" data-placement="top" data-toggle="tooltip" data-original-title="Asignar Solución"><i id="asignarSolucion" class="cursor muestraModal icon-check" data-reclamo_id="@(reclamo.id)" data-cliente_id="@(reclamo.cliente_id)"></i></a>
                            </td>
                            <td align="center">
                                <a href="#" data-placement="top" data-toggle="tooltip" data-original-title="Visualizar Información"><i id="verReclamo" class="cursor verReclamo icon-search" data-reclamo_id="@(reclamo.id)"></i></a>
                            </td>
                        </tr>
                    }
                }
            </tbody>
            <tfoot>
                <tr>
                    <th>
                    </th>
                    <th>
                    </th>
                    <th>
                    </th>
                    <th>
                    </th>
                    <th>
                    </th>
                    <th>
                    </th>
                    <th>
                    </th>
                    <th>
                    </th>
                    <th>
                    </th>
                    <th>
                    </th>
                </tr>
            </tfoot>
        </table>
    </div>
</fieldset>

<div class="modal hide fade" style="display: none;">
    @using (Html.BeginForm("RegistrarReclamo", "Analista", FormMethod.Post, new { area = "AtencionReclamos", @class = "form-horizontal formRegistrarReclamo", style = "margin:0;" }))
    {
        <div class="modal-header">
            <a class="close" data-dismiss="modal">×</a>
            <h3></h3>
        </div>
        <div class="modal-body">
        </div>
        <div class="modal-footer">
            <button type="submit" class=" btnRegistrarEnSAP btn btn-large btn-success">
                Guardar
            </button>
            <button type="button" data-dismiss="modal" class=" btnGuardarDatos btn btn-large  btn-primary">
                Cancelar
            </button>
        </div>
    }
</div>

<script type="text/javascript">

    var tr = "";

    $(".muestraModal").on("click", function () {
        var reclamo_id = $(this).attr("data-reclamo_id");
        var cliente_id = $(this).attr("data-cliente_id");
        tr = $(this).parents("tr");
        obtenerFormularioParticipante(reclamo_id, cliente_id, tr);
    });

    function obtenerFormularioParticipante(reclamo_id, cliente_id, tr) {

        var modal = $(".modal");
        $.ajax({
            url: URL_PAGE + 'AtencionReclamos/Analista/ReclamoMantenimiento',
            type: 'POST',
            data: { reclamo_id: reclamo_id, cliente_id: cliente_id },
            success: function (data) {

                modal.find(".modal-header").find("h3").html("Asignar Avance / Solución");
                modal.find(".modal-body").html(data);
                modal.css({
                    width: '800px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal();

            },
            error: function () {
                alert("error");
            }
        });
    }

    $('.formRegistrarReclamo').ajaxForm(function (result) {
        var obj = $.parseJSON(result);
        var div = $(".modal");
        div.modal("hide");

        var select = $(".select_estado_id");
        var vista = "";
        try {

            var exito = obj[0] === "True";
            if (exito) {

                if (select.val() == 2) {
                    vista = "estado_asignado";
                }
                if (select.val() == 3) {
                    vista = "estado_atencion";
                }
                if (select.val() == 4) {
                    vista = "estado_solucionado";
                }

                tr.attr("class", vista);
                tr.children(".estado").text(obj[1]);
                tr.children(".avance").text(obj[2]);
                tr.effect("highlight", {}, 2000, callback(tr));

            } else {
                alert("Hubo problemas para realizar la operación");
            }

        } catch (e) {
            //            alert("Hubo problemas para realizar la operación.");
        }

    });

    function callback(tr) {
        setTimeout(function () {
            tr.removeAttr("style").hide().fadeIn("slow");
        }, 100);
    };
    
</script>
